#!/bin/bash

# 全局变量：容器基础名称
BASE_CONTAINER_NAME="zryt-route-server"
# 镜像仓库地址
REPO="43.156.246.219:5000/$BASE_CONTAINER_NAME"

# 获取最新的版本号（基于时间戳的版本标签）
echo "查询镜像仓库中的最新版本号..."
LATEST_TAG=$(curl -s "http://43.156.246.219:5000/v2/zryt-route-server/tags/list" | jq -r '.tags[]' | sort -r | head -n 1)
echo $LATEST_TAG
if [ -z "$LATEST_TAG" ]; then
    echo "无法获取最新版本号，请检查镜像仓库地址或网络连接。"
    exit 1
fi

# 拼接完整的镜像名称
IMAGE="$REPO:$LATEST_TAG"
echo "最新镜像版本为: $IMAGE"

# 容器名称
CONTAINER_NAME="zryt-route-server"

# 停止并删除当前运行的容器
echo "停止并删除当前运行的容器..."
OLD_CONTAINER=$(docker ps -a -q --filter "name=$BASE_CONTAINER_NAME")
echo "--->$OLD_CONTAINER"
echo 


if [ -n "$OLD_CONTAINER" ]; then
    echo "停止并删除旧容器: $OLD_CONTAINER"
    docker stop "$OLD_CONTAINER"
    docker rm "$OLD_CONTAINER"
    echo "旧容器已停止并删除。"
else
    echo "没有找到需要停止的旧容器。"
fi

# 拉取最新版本的镜像
echo "拉取最新的镜像: $IMAGE..."
docker pull "$IMAGE"

# 启动新的容器
echo "启动新容器..."
#docker run -d --name "$CONTAINER_NAME" -p 8080:8080 
docker run -d -p 28989:28989 -p 28990:28990 --privileged=true --name $BASE_CONTAINER_NAME  --restart always --volume /etc/localtime:/etc/localtime -v /home/zryt-route/graph-cache-china:/graphhopper/graph-cache-china  "$IMAGE"

# 检查容器状态
if docker ps -q --filter "name=$CONTAINER_NAME" | grep -q .; then
    echo "容器已成功启动。"
else
    echo "容器启动失败，请检查日志。"
fi

